﻿namespace checc_baseTools
{
    //public class CommonDropWell
    //{

    //    public CommonDropWell() { }
    //    DropWellBase _leftDropWell = new DropWellBase();
    //    DropWellBase _rightDropWell = new DropWellBase();

    //    /// <summary>
    //    /// 左侧跌水井
    //    /// </summary>
    //    public DropWellBase LeftDropWell
    //    {
    //        get
    //        {
    //            return _leftDropWell;
    //        }
    //        set
    //        {
    //            if (value == _leftDropWell)
    //                return;

    //        }
    //    }

    //    /// <summary>
    //    /// 右侧跌水井
    //    /// </summary>
    //    public DropWellBase RightDropWell
    //    {
    //        get
    //        {
    //            return _rightDropWell;
    //        }
    //        set
    //        {
    //            if (value == _rightDropWell)
    //                return;

    //        }
    //    }
    //}


    public class DropWellBase
    {
        private double _centerLength = 300 * 0.01;
        private double _deep = 100 * 0.01;
        private double _wellSlope = 1;
        private double _height = 30 * 0.01;
        private double _depthOfDrainageDitch = 50 * 0.01;
        private double _slope = 0.25;
        private double _insideDitchHeight = 100 * 0.01;
        private double _slopInsideDitch = 1;
        private double _slopOutsideDitch = 1.5;
        private double _gutterPavingLength = 100 * 0.01;
        private double _precisionPavingHeight = 60 * 0.01;
        private double _sandPitDepthSwim = 20 * 0.01;
        public double _clearSpan = 2;
        public double _culvertAngle = 90;
        public DropWellBase() { }

        public DropWellBase(
            double CenterLength,
            double Deep,
            double WellSlope,
            double Height,
            double DepthOfDrainageDitch,
            double Slope,
            double InsideDitchHeight,
            double SlopInsideDitch,
            double SlopOutsideDitch,
            double GutterPavingLength,
            double PrecisionPavingHeight,
            double SandPitDepthSwim,
            double ClearSpan,
            double CulvertAngle)
        {
            _centerLength = CenterLength;
            _deep = Deep;
            _wellSlope = WellSlope;
            _height = Height;
            _depthOfDrainageDitch = DepthOfDrainageDitch;
            _slope = Slope;
            _insideDitchHeight = InsideDitchHeight;
            _slopInsideDitch = SlopInsideDitch;
            _slopOutsideDitch = SlopOutsideDitch;
            _gutterPavingLength = GutterPavingLength;
            _precisionPavingHeight = PrecisionPavingHeight;
            _sandPitDepthSwim = SandPitDepthSwim;
            _clearSpan = ClearSpan;
            _culvertAngle = CulvertAngle;
        }

        #region 跌水井属性
        /// <summary>
        /// 跌井中心长度
        /// </summary>
        public double CenterLength
        {
            get
            {
                return _centerLength;
            }
            set
            {
                if (value == _centerLength)
                    return;
                _centerLength = value;

            }
        }
        /// <summary>
        /// 跌井深度
        /// </summary>
        public double Deep
        {
            get
            {
                return _deep;
            }
            set
            {
                if (value == _deep)
                    return;
                _deep = value;

            }
        }
        /// <summary>
        /// 井壁坡度
        /// </summary>
        public double WellSlope
        {
            get
            {
                return _wellSlope;
            }
            set
            {
                if (value == _wellSlope)
                    return;
                _wellSlope = value;

            }
        }
        /// <summary>
        /// 井深铺砌厚度
        /// </summary>
        public double Height
        {
            get
            {
                return _height;
            }
            set
            {
                if (value == _height)
                    return;
                _height = value;

            }
        }
        /// <summary>
        /// 排水沟深度
        /// </summary>
        public double DepthOfDrainageDitch
        {
            get
            {
                return _depthOfDrainageDitch;
            }
            set
            {
                if (value == _depthOfDrainageDitch)
                    return;
                _depthOfDrainageDitch = value;

            }
        }
        /// <summary>
        /// 跌井边坡坡比(1:n)
        /// </summary>
        public double Slope
        {
            get
            {
                return _slope;
            }
            set
            {
                if (value == _slope)
                    return;
                _slope = value;

            }
        }
        /// <summary>
        /// 边沟内坡高
        /// </summary>
        public double InsideDitchHeight
        {
            get
            {
                return _insideDitchHeight;
            }
            set
            {
                if (value == _insideDitchHeight)
                    return;
                _insideDitchHeight = value;

            }
        }
        /// <summary>
        /// 边沟内坡度
        /// </summary>
        public double SlopInsideDitch
        {
            get
            {
                return _slopInsideDitch;
            }
            set
            {
                if (value == _slopInsideDitch)
                    return;
                _slopInsideDitch = value;

            }
        }
        /// <summary>
        /// 边沟外坡度
        /// </summary>
        public double SlopOutsideDitch
        {
            get
            {
                return _slopOutsideDitch;
            }
            set
            {
                if (value == _slopOutsideDitch)
                    return;
                _slopOutsideDitch = value;

            }
        }
        /// <summary>
        /// 排水沟铺砌长
        /// </summary>
        public double GutterPavingLength
        {
            get
            {
                return _gutterPavingLength;
            }
            set
            {
                if (value == _gutterPavingLength)
                    return;
                _gutterPavingLength = value;

            }
        }
        /// <summary>
        /// 井底铺砌高度
        /// </summary>
        public double PrecisionPavingHeight
        {
            get
            {
                return _precisionPavingHeight;
            }
            set
            {
                if (value == _precisionPavingHeight)
                    return;
                _precisionPavingHeight = value;

            }
        }
        /// <summary>
        /// 沉砂池深度
        /// </summary>
        public double SandPitDepthSwim
        {
            get
            {
                return _sandPitDepthSwim;
            }
            set
            {
                if (value == _sandPitDepthSwim)
                    return;
                _sandPitDepthSwim = value;


            }
        }

        /// <summary>
        /// 跨径
        /// </summary>
        public double ClearSpan
        {
            get
            {
                return _clearSpan;
            }
            set
            {
                if (value == _clearSpan)
                    return;
                _clearSpan = value;

            }
        }

        /// <summary>
        /// 洞口角度
        /// </summary>
        public double CulvertAngle
        {
            get
            {
                return _culvertAngle;
            }
            set
            {
                if (value == _culvertAngle)
                    return;
                _culvertAngle = value;

            }
        }
        #endregion
    }
}
